package com.ruoyi.system.mapper;

import java.util.List;

import com.ruoyi.system.domain.SysExpense;
import com.ruoyi.system.domain.SysExpenseMerge;
import com.ruoyi.system.domain.SysExpenseStat;
import org.apache.ibatis.annotations.Param;

/**
 * 收租费用合并Mapper接口
 * 
 * @author ruoyi
 * @date 2020-07-23
 */
public interface SysExpenseMergeMapper 
{
    /**
     * 查询收租费用合并
     * 
     * @param expenseMergeId 收租费用合并ID
     * @return 收租费用合并
     */
    public SysExpenseMerge selectSysExpenseMergeById(Long expenseMergeId);

    /**
     * 首页各栋已收金额统计
     *
     * @param
     * @return 收租费用
     */
    public List<SysExpenseMerge> selectSysExpenseMergeStatList();


    /**
     * 首页各栋缴费户数
     *
     * @param
     *
     */
    public List<SysExpenseMerge> selectSysExpenseMergeCount();
    /**
     * 查询收租费用合并(上月水表电表度数)
     *
     * @param tenantIdStr 收租合同合并ID
     * @return 收租费用合并
     */
    public SysExpenseMerge selectSysExpenseMergeByTenantId(String tenantIdStr);

    /**
     * 查询收租费用合并列表
     * 
     * @param sysExpenseMerge 收租费用合并
     * @return 收租费用合并集合
     */
    public List<SysExpenseMerge> selectSysExpenseMergeList(SysExpenseMerge sysExpenseMerge);

    /**
     * 查询本月已收租列表
     *
     * @param sysExpenseMerge 收租费用合并
     * @return 收租费用合并集合
     */
    public List<SysExpenseMerge> selectSysExpenseMergeMonthList(SysExpenseMerge sysExpenseMerge);

    /**
     * 查询收租总费用
     *
     * @param sysExpenseMerge 收租费用ID
     * @return 收租费用
     */
    public SysExpenseMerge selectSysExpenseMergeSum(SysExpenseMerge sysExpenseMerge);

    /**
     * 收租统计查询
     *
     * @param startTime,endTime 收租费用ID
     * @return 收租费用
     */
    public List<SysExpenseStat> selectSysExpenseStat(@Param("startTime") String startTime, @Param("endTime") String endTime);

    /**
     * 查询首页统计折线图应收收租金额（每栋）
     */
    public List<SysExpenseMerge> selectSysExpenseMergeStatListForMonth();

    /**
     * 查询首页统计折线图全部应收收租金额（每个月）
     */
    public List<SysExpenseMerge> selectSysExpenseMergeStatListForMonthAll();

    /**
     * 查询首页统计折线图实收收租金额（每栋）
     */
    public List<SysExpenseMerge> selectSysExpenseMergeStatListForMonthAlready();

    /**
     * 查询首页统计折线图全部实收收租金额（每个月）
     */
    public List<SysExpenseMerge> selectSysExpenseMergeStatListForMonthAlreadyAll();

    /**
     * 查询首页统计折线图十大租户（每个月）
     */
    public List<SysExpenseMerge> selectSysExpenseMergeStatListForTenTenant();

    /**
     * 新增收租费用合并
     * 
     * @param sysExpenseMerge 收租费用合并
     * @return 结果
     */
    public int insertSysExpenseMerge(SysExpenseMerge sysExpenseMerge);

    /**
     * 修改收租费用合并
     * 
     * @param sysExpenseMerge 收租费用合并
     * @return 结果
     */
    public int updateSysExpenseMerge(SysExpenseMerge sysExpenseMerge);

    /**
     * 删除收租费用合并
     * 
     * @param expenseMergeId 收租费用合并ID
     * @return 结果
     */
    public int deleteSysExpenseMergeById(Long expenseMergeId);

    /**
     * 批量删除收租费用合并
     * 
     * @param expenseMergeIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteSysExpenseMergeByIds(String[] expenseMergeIds);
}
